/* 
 * Autores:
 *      Jonathan Lopez  11106
 *      Jorge Martínez  11237
 * 
 * Archivo: Registros.java
 * Última Revision: $Rev: 62 $
 *      Fecha: $Date: 2011-09-17 21:53:39 +0000 (Sat, 17 Sep 2011) $
 */
package Manejo.Transporte.Registros;

/**
 * Contiene una copia de todos los registros para que todos puedan tener acceso
 * a los mismos. Se recomienda solo tener una instancia de esta clase.
 *
 * @author Jonathan López
 * @author Jorge Martinez
 */
public class Registros {
    private RegBarcos registroBarcos;
    private RegContenedores registroContenedores;
    private RegNavieras registroNavieras;
    private RegPuertos registroPuertos;
    private RegRutas registroRutas;
   
    /**
     * Constructor, crea e inicializa todos los registros.
     */
    public Registros(){
        // Crear instancias de cada registro
        registroBarcos = new RegBarcos();
        registroContenedores = new RegContenedores();
        registroNavieras = new RegNavieras();
        registroPuertos = new RegPuertos();
        registroRutas = new RegRutas();
        
        // Inicializar los registros
        registroBarcos.inicializar(this);
        registroContenedores.inicializar(this);
        registroNavieras.inicializar(this);
        registroPuertos.inicializar(this);
        registroRutas.inicializar(this);
    }

    /**
     * @return Devuelve el Registro de Barcos.
     */
    public RegBarcos obtenerRegistroBarcos()
    {
        return registroBarcos;
    }

    /**
     * @return Devuelve el Registro de Contenedores.
     */
    public RegContenedores obtenerRegistroContenedores()
    {
        return registroContenedores;
    }

    /**
     * @return Devuelve el Registro de Navieras.
     */
    public RegNavieras obtenerRegistroNavieras()
    {
        return registroNavieras;
    }

    /**
     * @return Devuelve el Registro de Puertos.
     */
    public RegPuertos obtenerRegistroPuertos()
    {
        return registroPuertos;
    }

    /**
     * @return Devuelve el Registro de Rutas.
     */
    public RegRutas obtenerRegistroRutas()
    {
        return registroRutas;
    }
    
    /**
     * Guarda todos los cambios realizados en cada uno de los Registros.
     */
    public void guardarTodo(){
        registroBarcos.guardarTodo();
        registroContenedores.guardarTodo();
        registroNavieras.guardarTodo();
        registroPuertos.guardarTodo();
        registroRutas.guardarTodo();
    }
}
